/**
 三种：
 while
 do-while
 for
 */

/**
 while:
 语法结构：
 while (条件表达式) {
     那段需要被重复执行的代码;
     循环体;
 }
 
 执行步骤：
 1. 先判断 条件的真假；
 1.1 如果是真，就执行循环体，执行完循环体之后，再跳回第一步继续执行；
 1.2 如果为假，立刻结束while循环，向下执行。
 
 
 */
/**
 do-while:
 语法：
 do {
     循环体;
 }while(条件表达式)
 执行步骤：
     1. 执行一遍循环体
     2. 条件表达式
     2.1 真：继续执行循环体
     2.2 假：结束循环
 */

/**
 for:
 
 */



/**
 break: 立刻结束循环
 continue:只能使用在循环体中，遇见continue，立刻结束本次循环，执行下次循环
 */

#include <stdio.h>

int main(int argc, const char * argv[]) {
    // insert code here...
    
    
    
    
    // 知道循环的次数：
//    int i = 0;
//    while (i < 10) {
//        printf("%d你好！", i+1);
//        i += 1;
//    }
    
//    int i = 0;
//    while (i < 5) {
//        int num = 0;
//        printf("请输入一个数字:");
//        scanf("%d", &num);
//        printf("%d\n", num*2);
//        i += 1;
//    }
    
    // 知道循环体，不知道循环多少次
//    int pwd = 0;
//    while (pwd != 88888) {
//        printf("请输入密码：");
//        scanf("%d", &pwd);
//    }
//    printf("输入密码正确");
    
    
   
    
    // 循环次数确定的时候，使用for循环，次数不确定的时候，使用while循环
    
//    for (int i = 0; i < 10; i ++) {
//        for (int j = 0; j < i+1; j ++) {
//            printf("*");
//        }
//        printf("\n");
//    }
//
//    for (int i = 0; i < 9; i ++) {
//        for (int j = 0; j < 9-i; j ++) {
//            printf("*");
//        }
//        printf("\n");
//    }
    
//    for (int i = 0; i < 10; i ++) {
//        for (int j = 0; j < 10; j ++) {
//            if (i >= 10-j-1) {
//                printf("*");
//            }else {
//                printf(" ");
//            }
//        }
//        printf("\n");
//    }
    
    for (int i = 1; i <= 9; i ++) {
        for (int j = 1; j <= i; j ++) {
            printf("%d*%d=%d\t", j, i, i*j);
        }
        printf("\n");
    }
    
    return 0;
}
